package com.hy.mydesktop.shared.business;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.extjs.gxt.ui.client.data.BaseModel;
import com.extjs.gxt.ui.client.data.BaseTreeModel;
import com.extjs.gxt.ui.client.data.ModelData;
import com.hy.mydesktop.client.component.meta.GridColumnConfigModel;
import com.hy.mydesktop.client.component.mvc.event.EventStructureMetaModel;
import com.hy.mydesktop.client.component.type.ComponentControllerEnum;
import com.hy.mydesktop.client.component.type.ComponentTypeEnum;
import com.hy.mydesktop.shared.persistence.domain.gxt.GxtComponentMetaModel;
import com.hy.mydesktop.shared.persistence.domain.gxt.GxtComponentMetaNodeModel;
/**
 * 
 * <ul>
 * <li>开发作者：汤莉</li>
 * <li>设计日期：2010-11-25；时间：上午09:15:53</li>
 * <li>类型名称：ShelfTypeServices</li>
 * <li>设计目的：货架类型设置</li>
 * </ul>
 * <ul>
 * <b>修订编号：</b>
 * <li>修订日期：</li>
 * <li>修订作者：</li>
 * <li>修订原因：</li>
 * <li>修订内容：</li>
 * </ul>
 */
//WindowController Id : 1_1_windowController_ShelfType
//@Name("com.test.server.business.ShelfTypeServices")
public class ShelfTypeServices {

	public List<GxtComponentMetaModel> validateLogin0 ( BaseModel	baseModel) {
		System.err.println("Rpc get Username + Password" + baseModel.get("username")
				+"  "+baseModel.get("password"));
		List<GxtComponentMetaModel> list=new ArrayList<GxtComponentMetaModel>();
		GxtComponentMetaModel gxtComponentMetaModel=new GxtComponentMetaModel(this.getList2(baseModel));
		//list.add(gxtComponentMetaModel);
		list.add(this.createDynamicDesktopController3());
		list.add(this.createDynamicWindowController());
				//	list.add(this.createDynamicWindowController33());
//		list.add(this.createDynamicWindowController22());
//		list.add(this.createDynamicWindowController333());
//		list.add(this.createDynamicWindowController4());
//		list.add(this.createDynamicWindowController52());
		return list;
	}
	
	private GxtComponentMetaModel createDynamicDesktopController3() {
		Map<String , Object> desktopController=new HashMap<String, Object>();
//		desktopController.put("component_controller_model_type", ComponentControllerEnum.DESKTOP_CONTROL_MODEL);
		desktopController.put("component_controller_model_type_index", ComponentControllerEnum.DESKTOP_CONTROLLOR_MODEL.ordinal());
		List<String> codes1 = new ArrayList<String>();
		codes1.add("0003");
		codes1.add("0002");
		codes1.add("0005");
		desktopController.put("registereventtypes", codes1);
		desktopController.put("id", "desktopController");
		GxtComponentMetaNodeModel node=new GxtComponentMetaNodeModel(desktopController,1,24);
		
		Map<String , Object> shortcutController=new HashMap<String, Object>();
//		shortcutController.put("component_controller_model_type", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL);
		shortcutController.put("component_controller_model_type_index", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL.ordinal());
		List<String> codes2 = new ArrayList<String>();
		codes2.add("0003");
		codes2.add("0002");
		codes2.add("0005");
		shortcutController.put("registereventtypes", codes2);
		shortcutController.put("id", "shortcutController01");
		shortcutController.put("viewdata", "shortcut_viewData_init_01");	
		shortcutController.put("gxtcomponentmetanodemodel", this.getShortcutGxtComponentMetaNodeModel());		
		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(shortcutController,2,3);
		
		Map<String , Object> shortcutController2=new HashMap<String, Object>();
//		shortcutController2.put("component_controller_model_type", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL);
		shortcutController2.put("component_controller_model_type_index", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL.ordinal());
		List<String> codes22 = new ArrayList<String>();
		codes22.add("0003");
		codes22.add("0002");
		codes22.add("0005");
		shortcutController2.put("registereventtypes", codes22);
		shortcutController2.put("id", "shortcutController02");
		shortcutController2.put("viewdata", "shortcut_viewData_init_02");
		shortcutController2.put("gxtcomponentmetanodemodel", this.getShortcutGxtComponentMetaNodeModel2());		
		GxtComponentMetaNodeModel node22=new GxtComponentMetaNodeModel(shortcutController2,4,5);
		
		Map<String , Object> desktopMeunItemController=new HashMap<String, Object>();
//		desktopMeunItemController.put("component_controller_model_type", ComponentControllerEnum.DESKTOP_MENUITEM_CONTROLLER_MODEL);
		desktopMeunItemController.put("component_controller_model_type_index", ComponentControllerEnum.DESKTOP_MENUITEM_CONTROLLER_MODEL.ordinal());
		List<String> codes3 = new ArrayList<String>();
		codes3.add("0003");
		codes3.add("0002");
		codes3.add("0005");
		desktopMeunItemController.put("registereventtypes", codes3);
		desktopMeunItemController.put("id", "desktopMeunItemController01");
		desktopMeunItemController.put("viewdata", "desktopmenuitem_viewData_init_01");		
		GxtComponentMetaNodeModel node3=new GxtComponentMetaNodeModel(desktopMeunItemController,6,7);
		
		
		Map<String , Object> desktopMeunItemController2=new HashMap<String, Object>();
//		desktopMeunItemController2.put("component_controller_model_type", ComponentControllerEnum.DESKTOP_MENUITEM_CONTROLLER_MODEL);
		desktopMeunItemController2.put("component_controller_model_type_index", ComponentControllerEnum.DESKTOP_MENUITEM_CONTROLLER_MODEL.ordinal());
		List<String> codes32 = new ArrayList<String>();
		codes32.add("0003");
		codes32.add("0002");
		codes32.add("0005");
		desktopMeunItemController2.put("registereventtypes", codes32);
		desktopMeunItemController2.put("id", "desktopMeunItemController02");
		desktopMeunItemController2.put("viewdata", "desktopmenuitem_viewData_init_02");		
		GxtComponentMetaNodeModel node32=new GxtComponentMetaNodeModel(desktopMeunItemController2,8,9);
		
		Map<String , Object> desktopStartMenuController=new HashMap<String, Object>();
//		desktopStartMenuController.put("component_controller_model_type", ComponentControllerEnum.DESKTOP_STARTMENU_CONTROLLER_MODEL);
		desktopStartMenuController.put("component_controller_model_type_index", ComponentControllerEnum.DESKTOP_STARTMENU_CONTROLLER_MODEL.ordinal());
		List<String> codes4 = new ArrayList<String>();
		codes4.add("0003");
		codes4.add("0002");
		codes4.add("0005");
		desktopStartMenuController.put("registereventtypes", codes4);
		desktopStartMenuController.put("id", "desktopStartMenuController01");
		desktopStartMenuController.put("viewdata", "desktopStartMenu_viewData_init_01");		
		GxtComponentMetaNodeModel node4=new GxtComponentMetaNodeModel(desktopStartMenuController,10,11);
		
		Map<String , Object> desktopStartMenuController2=new HashMap<String, Object>();
//		desktopStartMenuController2.put("component_controller_model_type", ComponentControllerEnum.DESKTOP_STARTMENU_CONTROLLER_MODEL);
		desktopStartMenuController2.put("component_controller_model_type_index", ComponentControllerEnum.DESKTOP_STARTMENU_CONTROLLER_MODEL.ordinal());
		List<String> codes42 = new ArrayList<String>();
		codes42.add("0003");
		codes42.add("0002");
		codes42.add("0005");
		desktopStartMenuController2.put("registereventtypes", codes42);
		desktopStartMenuController2.put("id", "desktopStartMenuController02");
		desktopStartMenuController2.put("viewdata", "desktopStartMenu_viewData_init_02");		
		GxtComponentMetaNodeModel node42=new GxtComponentMetaNodeModel(desktopStartMenuController2,12,13);

		Map<String , Object> shortcutController3=new HashMap<String, Object>();
//		shortcutController.put("component_controller_model_type", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL);
		shortcutController3.put("component_controller_model_type_index", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL.ordinal());
		List<String> codes222 = new ArrayList<String>();
		codes222.add("0003");
		codes222.add("0002");
		codes222.add("0005");
		shortcutController3.put("registereventtypes", codes222);
		shortcutController3.put("id", "shortcutController03");
		shortcutController3.put("viewdata", "shortcut_viewData_init_03");	
		shortcutController3.put("gxtcomponentmetanodemodel", this.getShortcutGxtComponentMetaNodeModel3());		
		GxtComponentMetaNodeModel node222=new GxtComponentMetaNodeModel(shortcutController3,14,15);
		
		Map<String , Object> shortcutController4=new HashMap<String, Object>();
//		shortcutController.put("component_controller_model_type", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL);
		shortcutController4.put("component_controller_model_type_index", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL.ordinal());
		List<String> codes2222 = new ArrayList<String>();
		codes2222.add("0003");
		codes2222.add("0002");
		codes2222.add("0005");
		shortcutController4.put("registereventtypes", codes2222);
		shortcutController4.put("id", "shortcutController04");
		shortcutController4.put("viewdata", "shortcut_viewData_init_04");	
		shortcutController4.put("gxtcomponentmetanodemodel", this.getShortcutGxtComponentMetaNodeModel4());		
		GxtComponentMetaNodeModel node2222=new GxtComponentMetaNodeModel(shortcutController4,16,17);
		
		Map<String , Object> shortcutController5=new HashMap<String, Object>();
//		shortcutController.put("component_controller_model_type", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL);
		shortcutController5.put("component_controller_model_type_index", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL.ordinal());
		List<String> codes22222 = new ArrayList<String>();
		codes22222.add("0003");
		codes22222.add("0002");
		codes22222.add("0005");
		shortcutController5.put("registereventtypes", codes22222);
		shortcutController5.put("id", "shortcutController05");
		shortcutController5.put("viewdata", "shortcut_viewData_init_05");	
		shortcutController5.put("gxtcomponentmetanodemodel", this.getShortcutGxtComponentMetaNodeModel5());		
		GxtComponentMetaNodeModel node22222=new GxtComponentMetaNodeModel(shortcutController5,18,19);
		
		Map<String , Object> shortcutController6=new HashMap<String, Object>();
//		shortcutController.put("component_controller_model_type", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL);
		shortcutController6.put("component_controller_model_type_index", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL.ordinal());
		List<String> codes222222 = new ArrayList<String>();
		codes222222.add("0003");
		codes222222.add("0002");
		codes222222.add("0005");
		shortcutController6.put("registereventtypes", codes222222);
		shortcutController6.put("id", "shortcutController06");
		shortcutController6.put("viewdata", "shortcut_viewData_init_04");	
		shortcutController6.put("gxtcomponentmetanodemodel", this.getShortcutGxtComponentMetaNodeModel4());		
		GxtComponentMetaNodeModel node222222=new GxtComponentMetaNodeModel(shortcutController6,20,21);
		
		Map<String , Object> shortcutController7=new HashMap<String, Object>();
//		shortcutController.put("component_controller_model_type", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL);
		shortcutController7.put("component_controller_model_type_index", ComponentControllerEnum.SHORTCUT_CONTROLLER_MODEL.ordinal());
		List<String> codes2222222 = new ArrayList<String>();
		codes2222222.add("0003");
		codes2222222.add("0002");
		codes2222222.add("0005");
		shortcutController7.put("registereventtypes", codes2222222);
		shortcutController7.put("id", "shortcutController07");
		shortcutController7.put("viewdata", "shortcut_viewData_init_04");	
		shortcutController7.put("gxtcomponentmetanodemodel", this.getShortcutGxtComponentMetaNodeModel4());		
		GxtComponentMetaNodeModel node2222222=new GxtComponentMetaNodeModel(shortcutController7,22,23);
		
		
		List<GxtComponentMetaNodeModel> list=new ArrayList<GxtComponentMetaNodeModel>();
		list.add(node);
		list.add(node2);
		list.add(node22);
		list.add(node3);		
		list.add(node32);		
		list.add(node4);		
		list.add(node42);		
		list.add(node222);
		list.add(node2222);
		list.add(node22222);
		list.add(node222222);
		list.add(node2222222);

		GxtComponentMetaModel gxtComponentMetaModel=new GxtComponentMetaModel(list);
		return gxtComponentMetaModel;
		
	}
	
	public GxtComponentMetaModel createDynamicWindowController() {
		
		
		
		//窗口+表格
		Map<String , Object> windowController=new HashMap<String, Object>();
//		windowController.put("component_controller_model_type", ComponentControllerEnum.WINDOW_CONTROLLER_MODEL);
		windowController.put("component_controller_model_type_index", ComponentControllerEnum.WINDOW_CONTROLLER_MODEL.ordinal());
		List<String> codes1 = new ArrayList<String>();
		codes1.add("0301");		
		codes1.add("0401");
		codes1.add("0007");
		codes1.add("0008");
		
		windowController.put("id", "1_1_windowController_ShelfType");
		windowController.put("registereventtypes", codes1);
		windowController.put("viewdata", "window_viewData_init_01");		
		windowController.put("gxtcomponentmetanodemodel", this.getWindowGxtComponentMetaNodeModel());
		GxtComponentMetaNodeModel node=new GxtComponentMetaNodeModel(windowController,1,14);
		
		Map<String , Object> contentPanelController=new HashMap<String, Object>();
//		contentPanelController.put("component_controller_model_type", ComponentControllerEnum.CONTENTPANEL_CONTROLLER_MODEL);
		contentPanelController.put("component_controller_model_type_index", ComponentControllerEnum.CONTENTPANEL_CONTROLLER_MODEL.ordinal());
		List<String> codes2 = new ArrayList<String>();
		codes2.add("0301");
		codes2.add("0401");
		codes2.add("0007");
		codes2.add("0008");
		contentPanelController.put("registereventtypes", codes2);				
		contentPanelController.put("id", "2_1_contentPanelController_ShelfType");				
		contentPanelController.put("viewdata", "contentPanel_viewData_init_01");
		contentPanelController.put("gxtcomponentmetanodemodel", this.getContentPanelGxtComponentMetaNodeModel());		

		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(contentPanelController,2,13);
		
		Map<String , Object> menuBarController=new HashMap<String, Object>();
//		menuBarController.put("component_controller_model_type", ComponentControllerEnum.MENUBAR_CONTROLLER_MODEL);
		menuBarController.put("component_controller_model_type_index", ComponentControllerEnum.MENUBAR_CONTROLLER_MODEL.ordinal());
		List<String> codes3 = new ArrayList<String>();
		codes3.add("0301");
		codes3.add("0401");
		codes3.add("0007");
		codes3.add("0008");
		menuBarController.put("registereventtypes", codes3);
		menuBarController.put("id", "3_1_menuBarController_ShelfType");
		menuBarController.put("viewdata", "menuBar_viewData_init_01");		
		//menuBarController.put("gxtcomponentmetanodemodel", this.getMenuBarGxtComponentMetaNodeModel());		
		GxtComponentMetaNodeModel node3=new GxtComponentMetaNodeModel(menuBarController,3,4);
		
		Map<String , Object> toolBarController=new HashMap<String, Object>();
//		toolBarController.put("component_controller_model_type", ComponentControllerEnum.TOOLBAR_CONTROLLER_MODEL);
		toolBarController.put("component_controller_model_type_index", ComponentControllerEnum.TOOLBAR_CONTROLLER_MODEL.ordinal());
		List<String> codes4 = new ArrayList<String>();
	    codes4.add("0301");
		codes4.add("0401");
		codes4.add("0007");
		codes4.add("0008");
		toolBarController.put("registereventtypes", codes4);
		toolBarController.put("id", "3_2_toolBarController_ShelfType");
		toolBarController.put("viewdata", "toolBar_viewData_init_01");		
		toolBarController.put("gxtcomponentmetanodemodel", this.getToolBarGxtComponentMetaNodeModel2());		
		GxtComponentMetaNodeModel node4=new GxtComponentMetaNodeModel(toolBarController,5,6);
		
		
		
		
		Map<String, Object> sumFormPanelController=new HashMap<String, Object>();
//		sumFormPanelController.put("component_controller_model_type", ComponentControllerEnum.FORMPANEL_CONTROLLER_MODEL);
		sumFormPanelController.put("component_controller_model_type_index", ComponentControllerEnum.FORMPANEL_CONTROLLER_MODEL.ordinal());
		List<String> codes45 = new ArrayList<String>();
		codes45.add("0301");
		codes45.add("0401");
		codes45.add("0007");
		codes45.add("0008");
		sumFormPanelController.put("registereventtypes", codes45);
		sumFormPanelController.put("id", "3_3_sumFormPanelController_ShelfType");
		sumFormPanelController.put("controllerdata", "sumFormPanel_controllerdata_init_01");		
		sumFormPanelController.put("viewdata", "sumFormPanel_viewData_init_01");		
		sumFormPanelController.put("gxtcomponentmetanodemodel",  this.getSumFormPanelGxtComponentMetaNodeModel());		
		GxtComponentMetaNodeModel node45=new GxtComponentMetaNodeModel(sumFormPanelController, 7, 12);
		
		
		/*Map<String , Object> formPanelController=new HashMap<String, Object>();
//		formPanelController.put("component_controller_model_type", ComponentControllerEnum.FORMSET_MODULE_CONTROLLER_MODEL);
		formPanelController.put("component_controller_model_type_index", ComponentControllerEnum.FORMSET_MODULE_CONTROLLER_MODEL.ordinal());
		List<String> codes5 = new ArrayList<String>();
		codes5.add("0301");
		codes5.add("0401");
		codes5.add("0007");
		codes5.add("0008");
		formPanelController.put("registereventtypes", codes5);
		formPanelController.put("id", "formPanelController");
		formPanelController.put("controllerdata", "formPanel_controllerdata_init_01");		
		formPanelController.put("viewdata", "formPanel_viewData_init_01");		
		formPanelController.put("gxtcomponentmetanodemodel",  this.getFormSetModuleGxtComponentMetaNodeModel());		
		GxtComponentMetaNodeModel node5=new GxtComponentMetaNodeModel(formPanelController,8,9);*/
		
		Map<String , Object> gridController=new HashMap<String, Object>();
//		textFieldController.put("component_controller_model_type", ComponentControllerEnum.GRIDSETMODULES_CONTROLLER_MODEL);
		gridController.put("component_controller_model_type_index", ComponentControllerEnum.GRIDSETMODULES_CONTROLLER_MODEL.ordinal());
		List<String> codes6 = new ArrayList<String>();
		codes6.add("0401"); 
		codes6.add("0301"); 
		codes6.add("0007");
		codes6.add("0008");
		gridController.put("registereventtypes", codes6);
		gridController.put("id", "4_1_gridController_ShelfType");
		gridController.put("viewdata", "textField_viewData_init_01");	
		gridController.put("gxtcomponentmetanodemodel", this.getGridSetModuleGxtComponentMetaNodeModel());		
		GxtComponentMetaNodeModel node6=new GxtComponentMetaNodeModel(gridController,8,11);
		
		Map<String , Object> dataLoadController=new HashMap<String, Object>();
//		dataLoadController.put("component_controller_model_type", ComponentControllerEnum.GRID_DATALOAD_CONTROLLER_MODEL);
		dataLoadController.put("component_controller_model_type_index", ComponentControllerEnum.GRID_DATALOAD_CONTROLLER_MODEL.ordinal());
		List<String> codes12222 = new ArrayList<String>();
		codes12222.add("0301");		
		codes12222.add("0201");
		codes12222.add("0401");
		
		
		dataLoadController.put("id", "5_1_dataLoadController_ShelfType");
		dataLoadController.put("registereventtypes", codes12222);
		//dataLoadController.put("gxtcomponentmetanodemodel", codes12222);
		//windowController.put("viewdata", "window_viewData_init_01");		
		GxtComponentMetaNodeModel node62=new GxtComponentMetaNodeModel(dataLoadController,9,10);

		List<GxtComponentMetaNodeModel> list=new ArrayList<GxtComponentMetaNodeModel>();
		list.add(node);
		list.add(node2);
		list.add(node3);
		list.add(node4);
		list.add(node45);
		//list.add(node5);
		list.add(node6);
		list.add(node62);
		GxtComponentMetaModel gxtComponentMetaModel=new GxtComponentMetaModel(list);
		return gxtComponentMetaModel;
		
	}
	
	/**
	 * 模拟从后台传过来的关于Window控件的元模型信息
	 */
	private GxtComponentMetaNodeModel getWindowGxtComponentMetaNodeModel( ) {
		Map<String, Object> map2=new HashMap<String, Object>();
//		map2.put("component_model_type", ComponentTypeEnum.WINDOW_MODEL);
		map2.put("component_model_type_index", ComponentTypeEnum.WINDOW_MODEL.ordinal());
		map2.put("title", "货架类型设置");
		map2.put("width", 800);
		map2.put("hight", 445);
		map2.put("id", "01_01_window_ShelfType");
		map2.put("resizable", false);
		map2.put("maxmizable", true);
		map2.put("minmizable", true);
//		map2.put("layout", ComponentTypeEnum.FITLAYOUT_MODEL);
		map2.put("layout", ComponentTypeEnum.FITLAYOUT_MODEL.ordinal());
		GxtComponentMetaModel gxtComponentMetaModel = new GxtComponentMetaModel();
		GxtComponentMetaNodeModel gxtComponentMetaNodeModel=new GxtComponentMetaNodeModel(map2);
		
		
		return gxtComponentMetaNodeModel;
		
	}
	
	
	private GxtComponentMetaNodeModel getContentPanelGxtComponentMetaNodeModel() {
		Map<String, Object> map2=new HashMap<String, Object>();
		//map2.put("component_model_type", ComponentTypeEnum.CONTENTPANEL_MODEL);
		map2.put("component_model_type_index", ComponentTypeEnum.CONTENTPANEL_MODEL.ordinal());
		map2.put("headervisible", false);	
		map2.put("id", "02_01_contentPanel_ShelfType");	
		map2.put("title", "Rpc===dataload----AppEvents.DESKTOP_INIT_FOR_LOGGED_IN_USER");	
		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(map2);
		return node2;
	}
	
	
	private GxtComponentMetaNodeModel getToolBarGxtComponentMetaNodeModel2() {
		
		
	 	Map<String, Object> button01 = new HashMap<String, Object>();
	    button01.put("component_model_type_index", ComponentTypeEnum.BUTTON_MODEL.ordinal());   
	    button01.put("text", "新建");
		  //TODO map2.put("appEventType", AppEvents.DESKTOP_SHORTCUT_ONCLICK_INIT);
			Map<String,Object> codes2 = new HashMap<String, Object>();
			//添加需要监听的事件类型，指定由某一个控制器响应，控制器内部应该如何响应（附加参数和数据）
			/**
			 * 00_01_02为特征码
			 * 或者是 控制器的唯一标识
			 */
				Map<String,Object> oneRegisterEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel eventStructureMetaModel = new EventStructureMetaModel();
					eventStructureMetaModel.setControllerId("windowController2");
					eventStructureMetaModel.setRootControllerId("windowController2");
				oneRegisterEventTypeData.put("eventstructuremetamodel", eventStructureMetaModel);
				
	
			codes2.put("0010", oneRegisterEventTypeData);
		button01.put("registereventtypes", codes2);
			BaseModel gxtToSeamServiceParameter = new BaseModel();
			gxtToSeamServiceParameter.set("serviceComponentName", "com.test.server.business.PersonService");
			gxtToSeamServiceParameter.set("serviceMethodName", "loadSubApplication");
			BaseModel[] methodArguments2 = new BaseModel[1];
			methodArguments2[0] = new BaseModel();
			gxtToSeamServiceParameter.set("methodArguments",methodArguments2 );
		button01.put("gxttoseamserviceparametermodel", gxtToSeamServiceParameter);
		GxtComponentMetaNodeModel node11  = new GxtComponentMetaNodeModel(button01);
		
		Map<String, Object> button02 = new HashMap<String, Object>();
	    button02.put("component_model_type_index", ComponentTypeEnum.BUTTON_MODEL.ordinal());   
	    button02.put("text", "保存");
		GxtComponentMetaNodeModel node22  = new GxtComponentMetaNodeModel(button02);
		
		Map<String, Object> button03 = new HashMap<String, Object>();
	    button03.put("component_model_type_index", ComponentTypeEnum.BUTTON_MODEL.ordinal());   
	    button03.put("text", "清空");
		GxtComponentMetaNodeModel node33  = new GxtComponentMetaNodeModel(button03);
		
		Map<String, Object> button04 = new HashMap<String, Object>();
	    button04.put("component_model_type_index", ComponentTypeEnum.BUTTON_MODEL.ordinal());   
	    button04.put("text", "导入");
		GxtComponentMetaNodeModel node44  = new GxtComponentMetaNodeModel(button04);
		
		Map<String, Object> button05 = new HashMap<String, Object>();
	    button05.put("component_model_type_index", ComponentTypeEnum.BUTTON_MODEL.ordinal());   
	    button05.put("text", "导出");
		GxtComponentMetaNodeModel node55  = new GxtComponentMetaNodeModel(button05);
	    
	   

		List<GxtComponentMetaNodeModel> list = new ArrayList<GxtComponentMetaNodeModel>();
		list.add(node11);
		list.add(node22);
		list.add(node33);
		//list.add(node44);
		//list.add(node55);
		
		Map<String, Object> toolbar=new HashMap<String, Object>();
		toolbar.put("component_model_type_index", ComponentTypeEnum.TOOLBAR_MODEL.ordinal());
		//toolbar.put("add", btn);
		toolbar.put("children", list);
		toolbar.put("id", "03_02_toolBar_ShelfType");
		ToolBarHandler.configureToolBarGxtComponentMetaNodeModel ( toolbar );
		GxtComponentMetaNodeModel node4=new GxtComponentMetaNodeModel(toolbar, 5, 6);
		
		

		return node4;
}

	private GxtComponentMetaNodeModel getSumFormPanelGxtComponentMetaNodeModel() {
		//创建提交和取消按钮
		Map<String, Object> btnSubmit=new HashMap<String, Object>();
//		btnSubmit.put("component_model_type", ComponentTypeEnum.BUTTON_MODEL);
		//实际创建时，不检查此属性
		btnSubmit.put("component_model_type_index", ComponentTypeEnum.BUTTON_MODEL.ordinal());
		btnSubmit.put("text", "sumFormPanel确定000000");
		
		Map<String,Object> codes2 = new HashMap<String, Object>();
		//添加需要监听的事件类型，指定由某一个控制器响应，控制器内部应该如何响应（附加参数和数据）
		/**
		 * 00_01_02为特征码
		 * 或者是 控制器的唯一标识
		 */
				Map<String,Object> oneRegisterEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel eventStructureMetaModel = new EventStructureMetaModel();
					//eventStructureMetaModel.setControllerId("shortcutController02");
					eventStructureMetaModel.setRootControllerId("windowController2");
					//eventStructureMetaModel.setResponseModeId("00_02_02");
				oneRegisterEventTypeData.put("eventstructuremetamodel", eventStructureMetaModel);
				oneRegisterEventTypeData.put("dispachereventtype", "0007");
		
			codes2.put("0302", oneRegisterEventTypeData);
		btnSubmit.put("registereventtypes", codes2);
		GxtComponentMetaNodeModel btnSubmit1=new GxtComponentMetaNodeModel(btnSubmit);
		
		Map<String, Object> btnquxiao=new HashMap<String, Object>();
//		btnquxiao.put("component_model_type", ComponentTypeEnum.BUTTON_MODEL);
		//实际创建时，不检查此属性
		btnquxiao.put("component_model_type_index", ComponentTypeEnum.BUTTON_MODEL.ordinal());
		btnquxiao.put("text", "取消");
		GxtComponentMetaNodeModel btn1=new GxtComponentMetaNodeModel(btnquxiao);
		
		List<GxtComponentMetaNodeModel> list1=new ArrayList<GxtComponentMetaNodeModel>();
		list1.add(btnSubmit1);
		list1.add(btn1);
		
		
		
		Map<String, Object> MaxPanel=new HashMap<String, Object>();
//		MaxPanel.put("component_model_type", ComponentTypeEnum.FORMPANEL_MODEL);
		MaxPanel.put("component_model_type_index", ComponentTypeEnum.FORMPANEL_MODEL.ordinal());
		MaxPanel.put("autowidth", true);
//		MaxPanel.put("autoheight", true);
		MaxPanel.put("hight", 395);
		MaxPanel.put("frame", true);
		MaxPanel.put("headervisible", false);
		//TODO MaxPanel.put("addbutton", list1);
		MaxPanel.put("addsubmitbutton", true);
		MaxPanel.put("addresetbutton", true);
		MaxPanel.put("buttonalign", "CENTER");
		MaxPanel.put("layoutindex", ComponentTypeEnum.FORMLAYOUT_MODEL.ordinal());
		MaxPanel.put("id", "03_03_sumFormPanel_ShelfType");
		FormPanelHandler.configureFormPanel ( MaxPanel );
		GxtComponentMetaNodeModel node5=new GxtComponentMetaNodeModel(MaxPanel);
		
		return node5;
	}
	
	private GxtComponentMetaNodeModel getGridSetModuleGxtComponentMetaNodeModel() {
		Map<String, Object> map2 = new HashMap<String, Object>();
//		map2.put("component_model_type", ComponentTypeEnum.GRIDSETMODULES_MODEL);
		map2.put("component_model_type_index", ComponentTypeEnum.GRIDSETMODULES_MODEL.ordinal());
		map2.put("autowidth", true);
		map2.put("autoheight", true);
		map2.put("frame", true);
		map2.put("headervisible", false);
		Map<String,Object> oneDispacherEventTypeData = new HashMap<String, Object>();
		EventStructureMetaModel subEventStructureMetaModel = new EventStructureMetaModel();
		subEventStructureMetaModel.setControllerId("5_1_dataLoadController_ShelfType");
		subEventStructureMetaModel.setRootControllerId("1_1_windowController_ShelfType");
		oneDispacherEventTypeData.put("eventstructuremetamodel", subEventStructureMetaModel);
		/*Map<String, Object> oneRegisterEventTypeData = new HashMap<String, Object>();
		oneRegisterEventTypeData .put("dispachereventtype", "0007");
		Map<String, Object> RegisterEventTypeDatas = new HashMap<String, Object>();
		RegisterEventTypeDatas = new HashMap<String, Object>();
		RegisterEventTypeDatas.put("0003", oneRegisterEventTypeData);
		map2.put("registereventtypes", RegisterEventTypeDatas);*/
		
		Map<String,Object> dispacherEventTypeDatas = new HashMap<String, Object>();
		dispacherEventTypeDatas.put("0007", oneDispacherEventTypeData);
		map2.put("dispachereventtypes", dispacherEventTypeDatas);
			/*Map<String, Object> map3 = new HashMap<String, Object>();
			
			map3.put("component_model_type", ComponentTypeEnum.GRIDMODULE_MODEL);
			map3.put("version",4);//这个必须放在第一个
			map3.put("hight", 300);
			map3.put("width", 300);
			map3.put("number", 10);
			map3.put("loadernumber", 0);
			map3.put("headervisible",false );
			map3.put("rownumber",false);//这个是不是树形表格必须有的，false代表不带行号，true代表带行号
			GxtComponentMetaNodeModel node3= new GxtComponentMetaNodeModel(map3);*/
			//分组表格表格
			/*Map<String, Object> map3 = new HashMap<String, Object>();
			map3.put("component_model_type", ComponentTypeEnum.GRIDMODULE_MODEL);
			map3.put("version",2);//分组表格
			map3.put("hight", 100);
			//map3.put("width", 500);
			map3.put("pagesize", 20);
			map3.put("groupingview", true);
			map3.put("groupingcolumnid", "industry");
			map3.put("headervisible",false );
			map3.put("rownumber", true);
			GxtComponentMetaNodeModel node3 = new GxtComponentMetaNodeModel(map3);*/
			//可编辑表格
			Map<String, Object> map3 = new HashMap<String, Object>();
			//实际中，此属性不起作用
//			map3.put("component_model_type", ComponentTypeEnum.GRIDMODULE_MODEL);
			map3.put("component_model_type_index", ComponentTypeEnum.GRIDMODULE_MODEL.ordinal());
			map3.put("version",1);//可编辑表格
			map3.put("hight", 300);
			//map3.put("width", 500);
			map3.put("headervisible",false );
			map3.put("rownumber", true);
					List<ModelData> columnConfigs = new ArrayList<ModelData>();		
					columnConfigs.add(new GridColumnConfigModel("NAME","名称",300));
					columnConfigs.add(new GridColumnConfigModel("DESCRIPTION","描述",400));
//					columnConfigs.add(new GridColumnConfigModel(true,"age","年88龄222_grid1",100));
					
			map3.put("columnconfigload", columnConfigs);
			map3.put("id", "cargoSpaceType");
			HandlerData.data ( map3 , "cargoSpaceTypeService" , "getAllCargoSpaceType" , "addCargoSpaceType" , "modifyCargoSpaceType" , "loadEditorableGrid" );		
					
//					BaseModel gxtToSeamServiceParameter = new BaseModel();
//					gxtToSeamServiceParameter.set("serviceComponentName", "com.test.server.business.PersonService");
//					gxtToSeamServiceParameter.set("serviceMethodName", "loadEditorableGrid");
//					BaseModel[] methodArguments2 = new BaseModel[1];
//					methodArguments2[0] = new BaseModel();
//					gxtToSeamServiceParameter.set("methodArguments",methodArguments2 );
//			map3.put("gxttoseamserviceparametermodel", gxtToSeamServiceParameter);
//			map3.put("dataload", gxtToSeamServiceParameter);
			GxtComponentMetaNodeModel node3 = new GxtComponentMetaNodeModel(map3);
			
			//分页表格
			/*Map<String, Object> map3 = new HashMap<String, Object>();
			map3.put("component_model_type", ComponentTypeEnum.GRIDMODULE_MODEL);
			map3.put("version",3);//分页表格
			map3.put("hight", 100);
			//map3.put("width", 500);
			map3.put("pagesize", 20);
			//map3.put("number", 10);
			//map3.put("loadernumber", 0);
			map3.put("headervisible",false );
			map3.put("rownumber", true);
			GxtComponentMetaNodeModel node3 = new GxtComponentMetaNodeModel(map3);*/
		List<GxtComponentMetaNodeModel> list = new ArrayList<GxtComponentMetaNodeModel>();
		list.add(node3);
		map2.put("gridlist", list);
		GxtComponentMetaNodeModel node2 = new GxtComponentMetaNodeModel(map2);
		return node2;
	}

public List<GxtComponentMetaNodeModel> getList2( BaseModel	baseModel) {
		
		//窗口+树
		Map<String , Object> windowController=new HashMap<String, Object>();
		//windowController.put("component_controller_model_type", ComponentControllerEnum.WINDOW_CONTROLLER_MODEL.ordinal());
		windowController.put("component_controller_model_type_index", ComponentControllerEnum.WINDOW_CONTROLLER_MODEL.ordinal());
		List<String> codes1 = new ArrayList<String>();
		codes1.add("0101");
		codes1.add("0301");		
		codes1.add("0003");
		codes1.add("0201");
		codes1.add("0401");
		codes1.add("0007");
		codes1.add("0008");
		
		windowController.put("id", "windowController");
		windowController.put("registereventtypes", codes1);
		windowController.put("viewdata", "window_viewData_init_01");		
		GxtComponentMetaNodeModel node=new GxtComponentMetaNodeModel(windowController,1,14);
		
		Map<String , Object> contentPanelController=new HashMap<String, Object>();
//		contentPanelController.put("component_controller_model_type", ComponentControllerEnum.CONTENTPANEL_CONTROLLER_MODEL.ordinal());
		contentPanelController.put("component_controller_model_type_index", ComponentControllerEnum.CONTENTPANEL_CONTROLLER_MODEL.ordinal());
		List<String> codes2 = new ArrayList<String>();
		codes2.add("0201");
		codes2.add("0301");
		codes2.add("0401");
		codes2.add("0101");
		codes2.add("0007");
		codes2.add("0008");
		contentPanelController.put("registereventtypes", codes2);				
		contentPanelController.put("id", "contentPanelController");				
		contentPanelController.put("viewdata", "contentPanel_viewData_init_01");		
		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(contentPanelController,2,13);
		
		Map<String , Object> menuBarController=new HashMap<String, Object>();
//		menuBarController.put("component_controller_model_type", ComponentControllerEnum.MENUBAR_CONTROLLER_MODEL.ordinal());
		menuBarController.put("component_controller_model_type_index", ComponentControllerEnum.MENUBAR_CONTROLLER_MODEL.ordinal());
		List<String> codes3 = new ArrayList<String>();
		codes3.add("0201");
		codes3.add("0301");
		codes3.add("0401");
		codes3.add("0101");
		codes3.add("0007");
		codes3.add("0008");
		menuBarController.put("registereventtypes", codes3);
		menuBarController.put("id", "menuBarController");
		menuBarController.put("viewdata", "menuBar_viewData_init_01");		
		GxtComponentMetaNodeModel node3=new GxtComponentMetaNodeModel(menuBarController,3,4);
		
		Map<String , Object> toolBarController=new HashMap<String, Object>();
//		toolBarController.put("component_controller_model_type", ComponentControllerEnum.TOOLBAR_CONTROLLER_MODEL);
		toolBarController.put("component_controller_model_type_index", ComponentControllerEnum.TOOLBAR_CONTROLLER_MODEL.ordinal());
		List<String> codes4 = new ArrayList<String>();
		codes4.add("0201");
		codes4.add("0301");
		codes4.add("0401");
		codes4.add("0101");
		codes4.add("0007");
		codes4.add("0008");
		toolBarController.put("registereventtypes", codes4);
		toolBarController.put("id", "toolBarController");
		toolBarController.put("viewdata", "toolBar_viewData_init_01");		
		GxtComponentMetaNodeModel node4=new GxtComponentMetaNodeModel(toolBarController,5,6);
		
		
		
		
		Map<String, Object> sumFormPanelController=new HashMap<String, Object>();
//		sumFormPanelController.put("component_controller_model_type", ComponentControllerEnum.FORMPANEL_CONTROLLER_MODEL);
		sumFormPanelController.put("component_controller_model_type_index", ComponentControllerEnum.FORMPANEL_CONTROLLER_MODEL.ordinal());
		List<String> codes45 = new ArrayList<String>();
		codes45.add("0201");
		codes45.add("0301");
		codes45.add("0401");
		codes45.add("0101");
		codes45.add("0007");
		codes45.add("0008");
		sumFormPanelController.put("registereventtypes", codes45);
		sumFormPanelController.put("id", "sumFormPanelController");
		sumFormPanelController.put("controllerdata", "sumFormPanel_controllerdata_init_01");		
		sumFormPanelController.put("viewdata", "sumFormPanel_viewData_init_01");		
		GxtComponentMetaNodeModel node45=new GxtComponentMetaNodeModel(sumFormPanelController, 7, 12);
		
		
		Map<String , Object> formPanelController=new HashMap<String, Object>();
//		formPanelController.put("component_controller_model_type", ComponentControllerEnum.FORMSET_MODULE_CONTROLLER_MODEL);
		formPanelController.put("component_controller_model_type_index", ComponentControllerEnum.FORMSET_MODULE_CONTROLLER_MODEL.ordinal());
		List<String> codes5 = new ArrayList<String>();
		codes5.add("0201");
		codes5.add("0301");
		codes5.add("0401");
		codes5.add("0101");
		codes5.add("0007");
		codes5.add("0008");
		formPanelController.put("registereventtypes", codes5);
		formPanelController.put("id", "formPanelController");
		formPanelController.put("controllerdata", "formPanel_controllerdata_init_01");		
		formPanelController.put("viewdata", "formPanel_viewData_init_01");		
		GxtComponentMetaNodeModel node5=new GxtComponentMetaNodeModel(formPanelController,8,9);
		
		Map<String , Object> treePanelModulesController=new HashMap<String, Object>();
//		treePanelModulesController.put("component_controller_model_type", ComponentControllerEnum.TREEPANELMODULES_CONTROLLER_MODEL);
		treePanelModulesController.put("component_controller_model_type_index", ComponentControllerEnum.TREEPANELMODULES_CONTROLLER_MODEL.ordinal());
		List<String> codes6 = new ArrayList<String>();
		codes6.add("0401"); 
		codes6.add("0301"); 
		codes6.add("0201"); 
		codes6.add("0101");
		codes6.add("0007");
		codes6.add("0008");
		treePanelModulesController.put("registereventtypes", codes6);
		treePanelModulesController.put("id", "treePanelModulesController");
		treePanelModulesController.put("viewdata", "treePanelModules_viewData_init_01");		
		GxtComponentMetaNodeModel node6=new GxtComponentMetaNodeModel(treePanelModulesController,10,11);
		
		List<GxtComponentMetaNodeModel> list=new ArrayList<GxtComponentMetaNodeModel>();
		list.add(node);
		list.add(node2);
		list.add(node3);
		list.add(node4);
		list.add(node45);
		list.add(node5);
		list.add(node6);
		
		//GxtComponentMetaModel gxtComponentMetaModel=new GxtComponentMetaModel(list);
		//return GxtComponentControlerFactory.createGxtComponentController(gxtComponentMetaModel);
		
		return list;
	}

	private GxtComponentMetaNodeModel getShortcutGxtComponentMetaNodeModel() {
		Map<String, Object> map2=new HashMap<String, Object>();
		//map2.put("component_model_type", ComponentTypeEnum.SHORTCUT_MODEL);
		map2.put("component_model_type_index", ComponentTypeEnum.SHORTCUT_MODEL.ordinal());
		//TODO map2.put("appEventType", AppEvents.DESKTOP_SHORTCUT_ONCLICK_INIT);
			Map<String,Object> RegisterEventTypeDatas = new HashMap<String, Object>();
			//添加需要监听的事件类型，指定由某一个控制器响应，控制器内部应该如何响应（附加参数和数据）
			/**
			 * 00_01_02为特征码
			 * 或者是 控制器的唯一标识
			 */
				Map<String,Object> oneRegisterEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel eventStructureMetaModel = new EventStructureMetaModel();
					eventStructureMetaModel.setControllerId("shortcutController01");
					eventStructureMetaModel.setRootControllerId("desktopController");
					eventStructureMetaModel.setResponseModeId("00_01_02");
				oneRegisterEventTypeData.put("eventstructuremetamodel", eventStructureMetaModel);
				
					Map<String,Object> oneDispacherEventTypeData = new HashMap<String, Object>();
						EventStructureMetaModel subEventStructureMetaModel = new EventStructureMetaModel();
						subEventStructureMetaModel.setControllerId("1_1_windowController_ShelfType");
						subEventStructureMetaModel.setRootControllerId("1_1_windowController_ShelfType");
					oneDispacherEventTypeData.put("eventstructuremetamodel", subEventStructureMetaModel);
					oneDispacherEventTypeData.put("count", 7);
				oneRegisterEventTypeData.put("dispachereventtype", "0007");
				
			RegisterEventTypeDatas.put("0003", oneRegisterEventTypeData);
			//codes1.add("0002");
		map2.put("registereventtypes", RegisterEventTypeDatas);
			Map<String,Object> dispacherEventTypeDatas = new HashMap<String, Object>();
			dispacherEventTypeDatas.put("0007", oneDispacherEventTypeData);
		map2.put("dispachereventtypes", dispacherEventTypeDatas);
		//map2.put("icon", "user");
		//map2.put("icon", "extanim32");
		map2.put("text", "Rpc   -----LoginView----AppEvents.DESKTOP_INIT_FOR_LOGGED_IN_USER");	
		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(map2);
		return node2;
	}
	
	private GxtComponentMetaNodeModel getShortcutGxtComponentMetaNodeModel2() {
		Map<String, Object> map2=new HashMap<String, Object>();
		//map2.put("component_model_type", ComponentTypeEnum.SHORTCUT_MODEL);
		map2.put("component_model_type_index", ComponentTypeEnum.SHORTCUT_MODEL.ordinal());
		//TODO map2.put("appEventType", AppEvents.DESKTOP_SHORTCUT_ONCLICK_INIT);
			Map<String,Object> codes2 = new HashMap<String, Object>();
			//添加需要监听的事件类型，指定由某一个控制器响应，控制器内部应该如何响应（附加参数和数据）
			/**
			 * 00_01_02为特征码
			 * 或者是 控制器的唯一标识
			 */
				Map<String,Object> oneRegisterEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel eventStructureMetaModel = new EventStructureMetaModel();
					eventStructureMetaModel.setControllerId("shortcutController02");
					eventStructureMetaModel.setRootControllerId("desktopController");
					eventStructureMetaModel.setResponseModeId("00_02_02");
				oneRegisterEventTypeData.put("eventstructuremetamodel", eventStructureMetaModel);
				oneRegisterEventTypeData.put("dispachereventtype", "0007");

			codes2.put("0003", oneRegisterEventTypeData);
		map2.put("registereventtypes", codes2);
				Map<String,Object> oneDispacherEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel subEventStructureMetaModel = new EventStructureMetaModel();
					subEventStructureMetaModel.setControllerId("windowController2");
					subEventStructureMetaModel.setRootControllerId("windowController2");
				oneDispacherEventTypeData.put("eventstructuremetamodel", subEventStructureMetaModel);
				oneDispacherEventTypeData.put("count", 15);
			Map<String,Object> dispacherEventTypeDatas = new HashMap<String, Object>();
			dispacherEventTypeDatas.put("0007", oneDispacherEventTypeData);
		map2.put("dispachereventtypes", dispacherEventTypeDatas);
		//map2.put("icon", "user");
		//map2.put("icon", "im48");
		map2.put("text", "22222Rpc--LoginView----AppEvents.DESKTOP_INIT_FOR_LOGGED_IN_USER");	
		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(map2);
		return node2;
	}
	
	private GxtComponentMetaNodeModel getShortcutGxtComponentMetaNodeModel3() {
		Map<String, Object> map2=new HashMap<String, Object>();
		//map2.put("component_model_type", ComponentTypeEnum.SHORTCUT_MODEL);
		map2.put("component_model_type_index", ComponentTypeEnum.SHORTCUT_MODEL.ordinal());
		//TODO map2.put("appEventType", AppEvents.DESKTOP_SHORTCUT_ONCLICK_INIT);
			Map<String,Object> codes2 = new HashMap<String, Object>();
			//添加需要监听的事件类型，指定由某一个控制器响应，控制器内部应该如何响应（附加参数和数据）
			/**
			 * 00_01_02为特征码
			 * 或者是 控制器的唯一标识
			 */
				Map<String,Object> oneRegisterEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel eventStructureMetaModel = new EventStructureMetaModel();
					eventStructureMetaModel.setControllerId("shortcutController03");
					eventStructureMetaModel.setRootControllerId("desktopController");
					eventStructureMetaModel.setResponseModeId("00_02_02");
				oneRegisterEventTypeData.put("eventstructuremetamodel", eventStructureMetaModel);
				oneRegisterEventTypeData.put("dispachereventtype", "0007");

			codes2.put("0003", oneRegisterEventTypeData);
		map2.put("registereventtypes", codes2);
				Map<String,Object> oneDispacherEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel subEventStructureMetaModel = new EventStructureMetaModel();
					subEventStructureMetaModel.setControllerId("windowController3");
					subEventStructureMetaModel.setRootControllerId("windowController3");
				oneDispacherEventTypeData.put("eventstructuremetamodel", subEventStructureMetaModel);
				oneDispacherEventTypeData.put("count", 15);
			Map<String,Object> dispacherEventTypeDatas = new HashMap<String, Object>();
			dispacherEventTypeDatas.put("0007", oneDispacherEventTypeData);
		map2.put("dispachereventtypes", dispacherEventTypeDatas);
		//map2.put("icon", "user");
		//map2.put("icon", "im48");
		map2.put("text", "22222Rpc--LoginView----AppEvents.DESKTOP_INIT_FOR_LOGGED_IN_USER");	
		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(map2);
		return node2;
	}




	private GxtComponentMetaNodeModel getShortcutGxtComponentMetaNodeModel4() {
		Map<String, Object> map2=new HashMap<String, Object>();
		//map2.put("component_model_type", ComponentTypeEnum.SHORTCUT_MODEL);
		map2.put("component_model_type_index", ComponentTypeEnum.SHORTCUT_MODEL.ordinal());
		//TODO map2.put("appEventType", AppEvents.DESKTOP_SHORTCUT_ONCLICK_INIT);
			Map<String,Object> codes2 = new HashMap<String, Object>();
			//添加需要监听的事件类型，指定由某一个控制器响应，控制器内部应该如何响应（附加参数和数据）
			/**
			 * 00_01_02为特征码
			 * 或者是 控制器的唯一标识
			 */
				Map<String,Object> oneRegisterEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel eventStructureMetaModel = new EventStructureMetaModel();
					eventStructureMetaModel.setControllerId("shortcutController04");
					eventStructureMetaModel.setRootControllerId("desktopController");
					eventStructureMetaModel.setResponseModeId("00_02_04");
				oneRegisterEventTypeData.put("eventstructuremetamodel", eventStructureMetaModel);
				oneRegisterEventTypeData.put("dispachereventtype", "0007");

			codes2.put("0003", oneRegisterEventTypeData);
		map2.put("registereventtypes", codes2);
				Map<String,Object> oneDispacherEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel subEventStructureMetaModel = new EventStructureMetaModel();
					subEventStructureMetaModel.setControllerId("windowController4");
					subEventStructureMetaModel.setRootControllerId("windowController4");
				oneDispacherEventTypeData.put("eventstructuremetamodel", subEventStructureMetaModel);
				oneDispacherEventTypeData.put("count", 1);
			Map<String,Object> dispacherEventTypeDatas = new HashMap<String, Object>();
			dispacherEventTypeDatas.put("0007", oneDispacherEventTypeData);
		map2.put("dispachereventtypes", dispacherEventTypeDatas);
		//map2.put("icon", "user");
		//map2.put("icon", "add");
		map2.put("text", "22222Rpc--LoginView----AppEvents.DESKTOP_INIT_FOR_LOGGED_IN_USER");	
		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(map2);
		return node2;
	}
	
	private GxtComponentMetaNodeModel getShortcutGxtComponentMetaNodeModel5() {
		Map<String, Object> map2=new HashMap<String, Object>();
		//map2.put("component_model_type", ComponentTypeEnum.SHORTCUT_MODEL);
		map2.put("component_model_type_index", ComponentTypeEnum.SHORTCUT_MODEL.ordinal());
			Map<String,Object> codes2 = new HashMap<String, Object>();
			//添加需要监听的事件类型，指定由某一个控制器响应，控制器内部应该如何响应（附加参数和数据）
			/**
			 * 00_01_02为特征码
			 * 或者是 控制器的唯一标识
			 */
				Map<String,Object> oneRegisterEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel eventStructureMetaModel = new EventStructureMetaModel();
					eventStructureMetaModel.setControllerId("shortcutController05");
					eventStructureMetaModel.setRootControllerId("desktopController");
					eventStructureMetaModel.setResponseModeId("00_02_04");
				oneRegisterEventTypeData.put("eventstructuremetamodel", eventStructureMetaModel);
				oneRegisterEventTypeData.put("dispachereventtype", "0007");

			codes2.put("0003", oneRegisterEventTypeData);
		map2.put("registereventtypes", codes2);
				Map<String,Object> oneDispacherEventTypeData = new HashMap<String, Object>();
					EventStructureMetaModel subEventStructureMetaModel = new EventStructureMetaModel();
					subEventStructureMetaModel.setControllerId("windowController5");
					subEventStructureMetaModel.setRootControllerId("windowController5");
				oneDispacherEventTypeData.put("eventstructuremetamodel", subEventStructureMetaModel);
			Map<String,Object> dispacherEventTypeDatas = new HashMap<String, Object>();
			dispacherEventTypeDatas.put("0007", oneDispacherEventTypeData);
		map2.put("dispachereventtypes", dispacherEventTypeDatas);
		//map2.put("icon", "user");
		//map2.put("icon", "add");
		map2.put("text", "采购退货出库单555");	
		GxtComponentMetaNodeModel node2=new GxtComponentMetaNodeModel(map2);
		return node2;
	}
	
	private GxtComponentMetaNodeModel getMenuBarGxtComponentMetaNodeModel() {
		List<BaseTreeModel> listModel=new ArrayList<BaseTreeModel>();
		
		BaseTreeModel file=new BaseTreeModel();
		file.set("name", "文件");
		
		BaseTreeModel file1=new BaseTreeModel();
		file1.set("name", "新建");
		file.add(file1);
		BaseTreeModel file2=new BaseTreeModel();
		file2.set("name", "保存");
		file.add(file2);
		BaseTreeModel file3=new BaseTreeModel();
		file3.set("name", "打印");
		file.add(file3);
		BaseTreeModel file4=new BaseTreeModel();
		file4.set("name", "预览");
		file.add(file4);
		BaseTreeModel file5=new BaseTreeModel();
		file5.set("name", "退出");
		file.add(file5);
		
		BaseTreeModel edit=new BaseTreeModel();
		edit.set("name", "编辑");
		
		BaseTreeModel edit1=new BaseTreeModel();
		edit1.set("name", "引入");
		edit.add(edit1);
		BaseTreeModel edit2=new BaseTreeModel();
		edit2.set("name", "查找");
		edit.add(edit2);
		
		BaseTreeModel view=new BaseTreeModel();
		view.set("name", "查看");
		
		BaseTreeModel view1=new BaseTreeModel();
		view1.set("name", "基础资料查看");
		view.add(view1);
		BaseTreeModel view2=new BaseTreeModel();
		view2.set("name", "编码查看");
		view.add(view2);
		BaseTreeModel view3=new BaseTreeModel();
		view3.set("name", "采购价格查询");
		view.add(view3);
		BaseTreeModel view4=new BaseTreeModel();
		view4.set("name", "历史价格查询");
		view.add(view4);
		BaseTreeModel view5=new BaseTreeModel();
		view5.set("name", "库存状态查询");
		view.add(view5);
		BaseTreeModel view51=new BaseTreeModel();
		view51.set("name", "在库库存查询");
		view5.add(view51);
		BaseTreeModel view52=new BaseTreeModel();
		view52.set("name", "在途库存查询");
		view5.add(view52);
		
		
		BaseTreeModel option=new BaseTreeModel();
		option.set("name", "选项");
		
		BaseTreeModel option1=new BaseTreeModel();
		option1.set("name", "获取批次信息");
		option.add(option1);
		BaseTreeModel option2=new BaseTreeModel();
		option2.set("name", "物料配套查询录入");
		option.add(option2);
		
		listModel.add(file);
		listModel.add(edit);
		listModel.add(view);
		listModel.add(option);
		
		Map<String, Object> menubar=new HashMap<String, Object>();
//		menubar.put("component_model_type", ComponentTypeEnum.MENUBAR_MODEL);
		menubar.put("component_model_type_index", ComponentTypeEnum.MENUBAR_MODEL.ordinal());
		menubar.put("menubaritem", listModel);
		menubar.put("id", "03_01_menuBar_ShelfType");
		GxtComponentMetaNodeModel node3=new GxtComponentMetaNodeModel(menubar);
		
		return node3;
	}
}
